mscJNeuralNet.trainingAlgorithms
Interface INetTrainingAlgorithm

All Superinterfaces:
observerPattern.Observable
All Known Implementing Classes:
AbstractTrainingAlgorithm

public interface INetTrainingAlgorithm
extends observerPattern.Observable

Schnittstelle für alle Lernverfahren.

Created on 01.04.2004

Version:
04.06.2004
Author:
M. Serhat Cinar
See Also:
mscJNeuralNet.trainingAlgorithms

Method Summary
 void applyWeightUpdate(int pOutputtingNeuron, int pInputtingNeuron)
          Führt die Aktualisierung des Gewichtes W(outputting,inputting) durch.
 double[][] getActualGradients()
          Liefert die aktuellen Gradienten für die Gewichte.
 java.lang.String getAlgorithmName()
          Liefert den Namen des Lernverfahrens.
 int getCycle()
          Liefert den aktuellen Lernschritt des Lernverfahrens.
 double[] getDefaultLearningParameters()
          Liefert die Initialwerte für die Lernparameter des Lernverfahrens.
 java.lang.String[] getLearningParameterNames()
          Liefert die Bezeichnungen für die Lernparameter.
 double[] getLearningParameters()
          Liefert die aktuellen Lernparameter für das Lernverfahren.
 Net getNet()
          Liefert das Netz, welches derzeit von diesem Lernverfahren trainiert wird.
 void init()
          Initialisiert das Lernverfahren.
 void setActualGradients(double[][] pGradients)
          Legt die aktuellen Gradienten für die Gewichte fest.
 void setCycle(int pCycle)
          Legt den aktuellen Lernschritt fest.
 void setLearningParameters(double[] pLearningParameters)
          Legt die Lernparameter für das Lernverfahren fest.
 void setNet(Net pNet)
          (Er-)setzt das Netz, das durch dieses Lernverfahren trainiert werden soll.
 
Methods inherited from interface observerPattern.Observable
getObserverManager
 

Method Detail

init

public void init()
Initialisiert das Lernverfahren. Alle Werte (Fehler, Gradienten), die von dem Lernverfahren benutzt werden, werden hier mit ihren initial Werten belegt. Lediglich die Lernparameter bleiben, wie sie sind. Der Lernschritt (setCycle(int), getCycle()) muss beim Aufruf dieser Methode auf den Wert 0 gesetzt werden.


setNet

public void setNet(Net pNet)
(Er-)setzt das Netz, das durch dieses Lernverfahren trainiert werden soll. Die Methode init() wird am Ende aufgerufen, damit das Lernverfahren initialisiert wird.

Parameters:
pNet - Das zu trainierende Netz.

getNet

public Net getNet()
Liefert das Netz, welches derzeit von diesem Lernverfahren trainiert wird.

Returns:
Das aktuelle Netz.

applyWeightUpdate

public void applyWeightUpdate(int pOutputtingNeuron,
                              int pInputtingNeuron)
Führt die Aktualisierung des Gewichtes W(outputting,inputting) durch. Diese Methode wird einmal pro Lernschritt und Gewicht aufgerufen.

Parameters:
pOutputtingNeuron - Der Index des Neurons, von dem das Gewicht ausgeht.
pInputtingNeuron - Der Index des Neurons, in die das Gewicht eingeht.

setLearningParameters

public void setLearningParameters(double[] pLearningParameters)
Legt die Lernparameter für das Lernverfahren fest. Negative Werte bedeuten, dass derjenige Wert nicht angewendet werden soll. Jedes Lernverfahren hat seine eigenen Lernparameter mit verschiedenen Funktionen und auch in verschiedener Anzahl.

Parameters:
pLearningParameters - Lernparameter für das Lernverfahren fest.

getLearningParameters

public double[] getLearningParameters()
Liefert die aktuellen Lernparameter für das Lernverfahren. Jedes Lernverfahren hat seine eigenen Lernparameter mit verschiedenen Funktionen und auch in verschiedener Anzahl.

Returns:
Aktuelle Lernparameter für das Lernverfahren.

getDefaultLearningParameters

public double[] getDefaultLearningParameters()
Liefert die Initialwerte für die Lernparameter des Lernverfahrens. Jedes Lernverfahren hat seine eigenen Lernparameter mit verschiedenen Funktionen und auch in verschiedener Anzahl.

Returns:
Initialwerte für die Lernparameter des Lernverfahrens.

getLearningParameterNames

public java.lang.String[] getLearningParameterNames()
Liefert die Bezeichnungen für die Lernparameter. Jedes Lernverfahren hat seine eigenen Lernparameter mit verschiedenen Funktionen und auch in verschiedener Anzahl.

Returns:
Die Bezeichnungen für die Lernparameter.

getAlgorithmName

public java.lang.String getAlgorithmName()
Liefert den Namen des Lernverfahrens. Der Name des Lernverfahrens sollte eindeutig sein.

Returns:
Namen des Lernverfahrens.

setCycle

public void setCycle(int pCycle)
Legt den aktuellen Lernschritt fest.

Parameters:
pCycle - Der aktuelle Lernschritt.
See Also:
getCycle()

getCycle

public int getCycle()
Liefert den aktuellen Lernschritt des Lernverfahrens.

Returns:
Aktueller Lernschritt des Lernverfahrens.
See Also:
setCycle(int)

setActualGradients

public void setActualGradients(double[][] pGradients)
Legt die aktuellen Gradienten für die Gewichte fest. Diese Methode wird von der Klasse Net benutzt, um dem Lernverfahren bei jedem Lernschritt die aktuellen Gradienten mitzuteilen.

Parameters:
pGradients - Die aktuellen Gradienten für die Gewichte.

getActualGradients

public double[][] getActualGradients()
Liefert die aktuellen Gradienten für die Gewichte.

Returns:
Die aktuellen Gradienten für die Gewichte.
See Also:
setActualGradients(double[][])